package cn.tedu.service;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Service;

@Service//ioc
@Aspect//标记着这是一个aop的类：切面
public class AOPAspect {
    //切面由 切点(指定具体要用的通知的类或者方法)和 通知(是一个方法自定义功能)组成
    @Pointcut("execution( * cn.tedu.service..*.*(..))")
    public void point(){}
    @Around("point()")
    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
        long time = System.currentTimeMillis();
        Object o = joinPoint.proceed();//执行你的业务方法
        time = System.currentTimeMillis()-time;
        System.out.println("方法执行时间："+time);
        return o;
    }
}
